package domain.entities;

import javax.persistence.Column;
import javax.persistence.Embeddable;

/**
 * InvestigadorProtocoloCentroId entity. @author MyEclipse Persistence Tools
 */
@Embeddable
public class InvestigadorProtocoloCentroId implements java.io.Serializable {

	// Fields

	private Integer investigadorid;
	private Integer protocoloCentrocentroid;
	private String protocoloCentroprotocoloCompromisopaisprotocoloid;
	private Integer protocoloCentroprotocoloCompromisopaiscompromisopaisid;

	// Constructors

	/** default constructor */
	public InvestigadorProtocoloCentroId() {
	}

	/** full constructor */
	public InvestigadorProtocoloCentroId(Integer investigadorid,
			Integer protocoloCentrocentroid,
			String protocoloCentroprotocoloCompromisopaisprotocoloid,
			Integer protocoloCentroprotocoloCompromisopaiscompromisopaisid) {
		this.investigadorid = investigadorid;
		this.protocoloCentrocentroid = protocoloCentrocentroid;
		this.protocoloCentroprotocoloCompromisopaisprotocoloid = protocoloCentroprotocoloCompromisopaisprotocoloid;
		this.protocoloCentroprotocoloCompromisopaiscompromisopaisid = protocoloCentroprotocoloCompromisopaiscompromisopaisid;
	}

	// Property accessors

	@Column(name = "INVESTIGADORid", nullable = false)
	public Integer getInvestigadorid() {
		return this.investigadorid;
	}

	public void setInvestigadorid(Integer investigadorid) {
		this.investigadorid = investigadorid;
	}

	@Column(name = "PROTOCOLO_CENTROCENTROid", nullable = false)
	public Integer getProtocoloCentrocentroid() {
		return this.protocoloCentrocentroid;
	}

	public void setProtocoloCentrocentroid(Integer protocoloCentrocentroid) {
		this.protocoloCentrocentroid = protocoloCentrocentroid;
	}

	@Column(name = "protocolo_centroprotocolo_compromisopaisprotocoloid", nullable = false)
	public String getProtocoloCentroprotocoloCompromisopaisprotocoloid() {
		return this.protocoloCentroprotocoloCompromisopaisprotocoloid;
	}

	public void setProtocoloCentroprotocoloCompromisopaisprotocoloid(
			String protocoloCentroprotocoloCompromisopaisprotocoloid) {
		this.protocoloCentroprotocoloCompromisopaisprotocoloid = protocoloCentroprotocoloCompromisopaisprotocoloid;
	}

	@Column(name = "protocolo_centroprotocolo_compromisopaiscompromisopaisid", nullable = false)
	public Integer getProtocoloCentroprotocoloCompromisopaiscompromisopaisid() {
		return this.protocoloCentroprotocoloCompromisopaiscompromisopaisid;
	}

	public void setProtocoloCentroprotocoloCompromisopaiscompromisopaisid(
			Integer protocoloCentroprotocoloCompromisopaiscompromisopaisid) {
		this.protocoloCentroprotocoloCompromisopaiscompromisopaisid = protocoloCentroprotocoloCompromisopaiscompromisopaisid;
	}

	public boolean equals(Object other) {
		if ((this == other))
			return true;
		if ((other == null))
			return false;
		if (!(other instanceof InvestigadorProtocoloCentroId))
			return false;
		InvestigadorProtocoloCentroId castOther = (InvestigadorProtocoloCentroId) other;

		return ((this.getInvestigadorid() == castOther.getInvestigadorid()) || (this
				.getInvestigadorid() != null
				&& castOther.getInvestigadorid() != null && this
				.getInvestigadorid().equals(castOther.getInvestigadorid())))
				&& ((this.getProtocoloCentrocentroid() == castOther
						.getProtocoloCentrocentroid()) || (this
						.getProtocoloCentrocentroid() != null
						&& castOther.getProtocoloCentrocentroid() != null && this
						.getProtocoloCentrocentroid().equals(
								castOther.getProtocoloCentrocentroid())))
				&& ((this
						.getProtocoloCentroprotocoloCompromisopaisprotocoloid() == castOther
						.getProtocoloCentroprotocoloCompromisopaisprotocoloid()) || (this
						.getProtocoloCentroprotocoloCompromisopaisprotocoloid() != null
						&& castOther
								.getProtocoloCentroprotocoloCompromisopaisprotocoloid() != null && this
						.getProtocoloCentroprotocoloCompromisopaisprotocoloid()
						.equals(
								castOther
										.getProtocoloCentroprotocoloCompromisopaisprotocoloid())))
				&& ((this
						.getProtocoloCentroprotocoloCompromisopaiscompromisopaisid() == castOther
						.getProtocoloCentroprotocoloCompromisopaiscompromisopaisid()) || (this
						.getProtocoloCentroprotocoloCompromisopaiscompromisopaisid() != null
						&& castOther
								.getProtocoloCentroprotocoloCompromisopaiscompromisopaisid() != null && this
						.getProtocoloCentroprotocoloCompromisopaiscompromisopaisid()
						.equals(
								castOther
										.getProtocoloCentroprotocoloCompromisopaiscompromisopaisid())));
	}

	public int hashCode() {
		int result = 17;

		result = 37
				* result
				+ (getInvestigadorid() == null ? 0 : this.getInvestigadorid()
						.hashCode());
		result = 37
				* result
				+ (getProtocoloCentrocentroid() == null ? 0 : this
						.getProtocoloCentrocentroid().hashCode());
		result = 37
				* result
				+ (getProtocoloCentroprotocoloCompromisopaisprotocoloid() == null ? 0
						: this
								.getProtocoloCentroprotocoloCompromisopaisprotocoloid()
								.hashCode());
		result = 37
				* result
				+ (getProtocoloCentroprotocoloCompromisopaiscompromisopaisid() == null ? 0
						: this
								.getProtocoloCentroprotocoloCompromisopaiscompromisopaisid()
								.hashCode());
		return result;
	}

}